package org.jcnc.staffingsystem.module;

import javafx.collections.ObservableList;
import javafx.geometry.Pos;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.text.Text;

public class ChoiceBox extends HBox {
    Text textTip = new Text();
    ComboBox<String> comboBox;

    public ChoiceBox(String t, ObservableList<String> options, String defaultText) {
        Text text = new Text(t);
        comboBox = new ComboBox<>();
        comboBox.setPrefWidth(200);

        comboBox.setValue(defaultText);
        comboBox.setItems(options);

        Region spacer = new Region();
        spacer.setPrefWidth(10);
        this.setAlignment(Pos.CENTER);
        this.getChildren().addAll(text, spacer, comboBox, textTip);
    }

    // 新增的方法：验证选择框内容是否为空
    public boolean validateNotEmpty() {
        if (comboBox.getValue().isEmpty()) {
            textTip.setText("请选择一个选项");
            return false;
        } else {
            textTip.setText("");
            return true;
        }
    }

    // 新增的方法：获取选择框中的选项
    public String getValue() {
        return comboBox.getValue();
    }

    // 新增的方法：设置选择框中的选项
    public void setSelectedOption(String option) {
        comboBox.setValue(option);
    }
}
